package cn.melonlib.graphql.annos;

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.PARAMETER)
@Documented
public @interface GraphqlParameter {

    /**
     * 参数命名，默认获取参数名称，当jdk不支持获取名称时或者需要另外指定名词时使用
     * @return
     */
    String value() default "";

    /**
     * 参数注释
     * @return
     */
    String comment() default "";

    /**
     * 是否必填参数
     * @return
     */
    boolean required() default false;

    /**
     * 内容必填，当类型为List的时候，内部元素是否为必填
     * @return
     */
    boolean requiredBody() default false;
}
